import { RoleEntity } from '../../entities/system/role.entity'
import { ArrayNotEmpty, IsNotEmpty, IsOptional, IsPhoneNumber, Matches } from 'class-validator'

export class CreateUserDTO {
  @IsNotEmpty({ message: '参数 $property 不可为空' })
  username: string

  @IsNotEmpty({ message: '参数 $property 不可为空' })
  password: string

  @IsPhoneNumber('CN', { message: '手机号码格式错误' })
  @IsNotEmpty({ message: '参数 $property 不可为空' })
  phone: string

  @IsNotEmpty({ message: '参数 $property 不可为空' })
  status: number

  @IsOptional()
  age: number

  @IsOptional()
  gender: number

  @IsOptional()
  // @Matches(/^[\u4e00-\u9fa5]{2,4}$/, { message: '真实姓名必须为2-4个中文字符' })
  realname: string

  @IsOptional()
  @Matches(/^[1-9]\d{4,12}$/, { message: 'QQ号码格式错误' })
  qq: string

  @IsOptional()
  nickname: string

  @ArrayNotEmpty({ message: '参数 $property 不可为空' })
  @IsNotEmpty({ message: '参数 $property 不可为空' })
  roleIds: string[]

  @IsOptional()
  roles: RoleEntity[]

  @IsOptional()
  createBy: string

  @IsOptional()
  updateBy: string
}
